
package com.insigma.business.qrcode.soldier.service;




import com.insigma.business.qrcode.job.dto.search.JobRecruitPositionBSearcher;
import com.insigma.business.qrcode.soldier.entity.DataStatsCDO;
import com.insigma.business.qrcode.soldier.entity.JobRecruitPositionDO;

import java.util.Date;
import java.util.List;


public interface JobRecruitPositionService {

    
    List<JobRecruitPositionDO> search(final JobRecruitPositionBSearcher innerSearcher);

    
    JobRecruitPositionDO get(final String id);

    
    Integer insert(final JobRecruitPositionDO jobRecruitPosition);

    
    Integer update(final JobRecruitPositionDO jobRecruitPosition);

    
    Integer delete(final String id, final String modifierType, final String modifierId);

    
    List<JobRecruitPositionDO> searchFavoritePosition(JobRecruitPositionBSearcher jobRecruitPositionBSearcher);

    
    List<JobRecruitPositionDO> listPositionsOfCompany(String companyId);

    Integer count(String companyId);

    List<String> selectAllTypeName(String companyId);

    List<DataStatsCDO> selectTop10Delivery(String companyId);

    int countByBetweenTime(Date startTime, Date endTime, String companyId);

    int countNeedPosNumByBetweenTime(Date startTime, Date endTime, String companyId);

    int unpublishJobFair(String fairId);

    int countByFair(String id);

    void unpublishByDate(Date date);

    Integer countRecruitNum(JobRecruitPositionBSearcher jobRecruitPositionBSearcher);

    Integer countRecruitNeedNum(JobRecruitPositionBSearcher jobRecruitPositionBSearcher);

    List<String> selectAllTypeNameByArea(String adminAreaCode);

    Integer sumRecruitNum(JobRecruitPositionBSearcher bSearcher);

    List<DataStatsCDO> groupJobCountByArea(String adminAreaCode);

    List<JobRecruitPositionDO> searchByOrgId(String orgId);

    void deleteByOnlineFairOrg(String orgId);
}
